#ifndef MONSTER_H
#define MONSTER_H

#include "Map.h"
#include "Movable.h"

class GameObject;
class MonsterAI;


// A monster that moves using AI.
class Monster :	public Movable
{
public:
	Monster(int x, int y, const Map& map);
	virtual ~Monster();

	virtual void getTimedDesiredMove(int& hDirection, int& vDirection);
	
	virtual bool isPassable(const GameObject* gameObject) const;
	virtual void handleCollision(GameObject* gameObject);
		
	virtual void setDrawColor() const {
		setColor(1.0f, 0.0f, 0.0f);
	}
	virtual void drawObject(int row, int col) const;

private:
	MonsterAI* monsterAI;
};

#endif